Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

279
Visualizações
Cómo usar el índice y deshacerse de React Advertencia: ¿Cada niño en una lista debe tener un accesorio de "clave" único?

Hola, estoy enfrentando este error, la pregunta es ¿cómo pasar correctamente el índice en este componente?

Error:

 react-jsx-dev-runtime.development.js:117 Warning: Each child in a list should have a unique "key" prop.

Aquí está el fragmento de código del componente:

 {calculatorScreenshots.map((imgUrl: any, index) => { return ( <Zoom> {props.projectName == 'Calculator' && ( <CardMedia key={index} component="img" height="200" alt="project picture" image={imgUrl} /> )} </Zoom> ); })}
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

El componente <Zoom> de nivel superior también necesita un atributo key .

about 4 years ago · Juan Pablo Isaza Relatório

0

Deberías colocar el accesorio clave en el primer elemento .

 {calculatorScreenshots.map((imgUrl: any, index) => { return ( <Zoom key={index}> {props.projectName == 'Calculator' && ( <CardMedia component="img" height="200" alt="project picture" image={imgUrl} /> )} </Zoom> ); })}
about 4 years ago · Juan Pablo Isaza Relatório

0

Debe agregar accesorios key al elemento que representa con map() .

Las teclas ayudan a React a identificar qué elementos han cambiado, se agregaron o se eliminaron. Se deben dar claves a los elementos dentro de la matriz para dar a los elementos una identidad estable

En su caso, olvidó agregar una key={imgUrl} al elemento <Zoom></Zoom> mientras que es el primer elemento representado con map()

Para desactivar esta advertencia, aquí la solución:

 {calculatorScreenshots.map((imgUrl: String, index) => { return ( <Zoom key={imageUrl}> {props.projectName == 'Calculator' && ( <CardMedia component="img" height="200" alt="project picture" image={imgUrl} /> )} </Zoom> )})}

Ya casi había llegado, simplemente colocó los accesorios key para el segundo elemento mapeado, no para el primero <Zoom></Zoom> .

Codificación feliz 🖖


Algunas buenas piezas de información:

La mejor manera de elegir una clave es usar una cadena que identifique de forma única un elemento de la lista entre sus hermanos. La mayoría de las veces usaría identificaciones de sus datos como claves

Cuando no tiene ID estables para los elementos representados, puede usar el índice de elementos como clave como último recurso.

No recomendamos usar índices para claves si el orden de los elementos puede cambiar. Esto puede tener un impacto negativo en el rendimiento y puede causar problemas con el estado del componente. Consulte el artículo de Robin Pokorny para obtener una explicación detallada sobre los impactos negativos del uso de un índice como clave. Si elige no asignar una clave explícita a los elementos de la lista, React usará de forma predeterminada los índices como claves.

Puedes encontrar más información aquí :

Lista y claves con React

El índice como clave es un antipatrón de Robin Pokorny

¿Por qué las claves son necesarias para React?

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda